package com.cw2.behavioral.template;

/**
 * 定义抽象类的模板
 */
public abstract class CookTemplate {

    /**
     * 定义算法：指定好模板
     * 父类可以实现某些步骤
     * 留给关键步骤给子类实现
     */
    public void cook() {
        //定义算法步骤
        heating();   //v
        addfood();
        addsalt();
        stirfry();   //v
        end();      //v
    }

    // 加热方法
    public void heating() {
        System.out.println("加热方法");
    }

    // 添加食物,抽象方法
    public abstract void addfood();

    // 加盐
    public abstract void addsalt();


    // 翻炒
    public void stirfry(){
        System.out.println("翻炒方法");
    };

    // 出锅
    private void end() {
        System.out.println("出锅方法");
    }


}
